---
title: GraphMethods 图方法
icon: GitGraph
relatedFile: app/src/core/stage/stageManager/basicMethods/GraphMethods.tsx
---

该服务提供了一系列用于查询和分析项目内图结构的方法，主要关注可连接实体（ConnectableEntity）之间通过边（Edge）建立的关系。它能够帮助确定图中的连通性、父子关系以及节点的可达性。

## API

### `isTree(node: ConnectableEntity): boolean`

判断从给定节点开始的子图是否构成一个树形结构（即不包含循环）。

### `nodeChildrenArray(node: ConnectableEntity): ConnectableEntity[]`

获取一个节点直接连接的所有子节点（即从该节点发出的边的目标节点），包括自环。

### `nodeParentArray(node: ConnectableEntity): ConnectableEntity[]`

获取一个节点直接连接的所有父节点（即指向该节点的边的源节点），排除自环。

### `getRoots(node: ConnectableEntity): ConnectableEntity[]`

通过回溯父节点，查找给定节点的根节点。

### `isConnected(node: ConnectableEntity, target: ConnectableEntity): boolean`

检查两个节点之间是否存在一条直接的边。

### `getSuccessorSet(node: ConnectableEntity, isHaveSelf: boolean = true): ConnectableEntity[]`

获取从给定节点可达的所有后继节点集合，可选择是否包含自身。

### `getOneStepSuccessorSet(node: ConnectableEntity): ConnectableEntity[]`

获取一个节点的直接后继节点集合（一步可达的节点），排除自环。

### `getEdgesBetween(node1: ConnectableEntity, node2: ConnectableEntity): Edge[]`

获取连接两个指定节点的所有边。

### `getEdgeFromTwoEntity(fromNode: ConnectableEntity, toNode: ConnectableEntity): Edge | null`

获取从一个节点到另一个节点的单条边，如果不存在则返回 null。
